Method and device for axis control for machine tools and the like

ABSTRACT

A method for controlling the axes of motors, for machine tools and the like, comprising the steps of: calculating, from a sequence of relative position data of each axis and of actuation states at each definite instant, a path for each individual axis, starting from parameters of initial speed, number of steps and final speed; defining a three-dimensional matrix that contains, for each axis, initial speed, number of steps and final speed, each element of the three-dimensional table, constituted by the intersection in space of the three parameters, containing an address that is suitable to point to the vector which describes a corresponding waveform; driving the axis according to the waveform.

The present invention relates to a method and a device for generatingwaves, particularly for axis control for machine tools and the like.

BACKGROUND OF THE INVENTION

As is known, generally two types of axis control systems are currentlycommercially available: closed-loop and open-loop.

The first type of control system is generally applied to brushlessmotors or torque motors or DC motors, which perform a movement bydetermining in each instant the current position and comparing it withthe expected position and changing the torque so as to reach the nextpoint with the least possible error.

The solution described above is characterized by low path repeatability,which becomes even more critical when the number of axes involved andmutually interpolated becomes significant (for example 8 or 10).

In order to improve path repeatability, the only possible solution is toincrease the density of the points that constitute such paths: in thiscase, however, the torques involved and the vibration would increaseconsiderably.

Accordingly, the controller, which must examine a huge number ofparameters, risks not being able to control the error of all the axesinvolved, leading therefore to instability or failure of the system.

The second control system, of the open-loop type, normally uses stepmotors. The open-loop system does not provide for error minimization,but starts from the assumption that if one aims to reach a particularposition at a certain instant, that position is assuredly reached atthat precise instant. Clearly, this system is particularly vulnerable toa sudden and unexpected variation of the contrast torque, but apart fromthis drawback, it allows high repeatability if the path is properlymanaged.

Currently commercially available closed-loop controllers, in order to besuitable for general use, are characterized by a huge series ofparameters that relate to all the dynamic variables involved (speeds,accelerations, masses et cetera) and by the path correction criteria,which are in practice a parameterized dynamic composition of PID(Proportional, Integral, Derivative) control.

Therefore, this solution is feasible only when the intervention times,and therefore the correction times, are long enough to allow thecontroller to perform all the necessary calculations.

Open-loop controllers, instead, execute exclusively a preset path thatalways assumes correct positioning. Substantially, there is nocorrection as a function of error.

Even in open-loop systems, currently there is an ongoing proliferationof parameters aimed at improving the paths constantly, with the resultof greatly encumbering the control.

SUMMARY OF THE INVENTION

The aim of the present invention is therefore to provide a method and adevice for generating waves, particularly for axis control, that allowsto obtain a harmonic motion in space with the combination of a largenumber of elementary axes.

Within this aim, an object of the present invention is to provide amethod and a system for axis control that allow, given a unique pathensured by a very large stream of points, to obtain a harmonic motionwith a rate on the order of milliseconds and to find a system thatexecutes said path.

Another object of the present invention is to provide a method and adevice for axis control that are highly reliable, relatively simple toprovide, and at competitive costs.

This aim and these and other objects that will become better apparenthereinafter are achieved by a method for generating waves, particularlyfor controlling the axes of motors, for machine tools and the like,characterized in that it comprises the steps of:

-   -   calculating, from a sequence of relative position data of each        axis and of actuation states at each definite instant, a path        for each individual axis, starting from parameters of initial        speed, number of steps and final speed;    -   defining a three-dimensional matrix that contains, for each        axis, initial speed, number of steps and final speed, each        element of said three-dimensional table, constituted by the        intersection in space of said three parameters, containing an        address that is suitable to point to said vector suitable to        describe a corresponding waveform;    -   driving said axis according to said waveform.

BRIEF DESCRIPTION OF THE DRAWINGS

Further characteristics and advantages will become better apparent fromthe description of preferred but not exclusive embodiments of the methodand the device according to the present invention, illustrated only byway of non-limitative example in the accompanying drawings, wherein theonly FIGURE is a block diagram of a preferred embodiment of the axiscontrol device according to the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

With reference to the FIGURE, the axis control method according to thepresent invention provides for the following steps.

Assume that a point stream generator, for example a vision system, isavailable and provides in output a set of points generated at the timest_(i).

These points therefore constitute a vector P_(i) (X1i, X2i, . . . , Xni,Ti). The control device that uses the control method according to theinvention must receive said stream of points, construct a path with ndimensions, modulating the i-th segment with the preceding one and thefollowing one, so as to have assurances as to the executability of themovement and therefore be able to execute it.

Substantially, the relative positions that all the axes of a machinetool must assume at preset times (for example every 20 msec) startingfrom an already-reached initial position, originate from the pointstream generator. An actuation value that is specific for the process tobe performed is associated with each relative position that each axismust assume at a preset time.

In order to achieve harmonic motion, the relative movement data must becorrelated to the previous movement data item and with the next movementdata item, so that each movement, independently of its sign, ischaracterized by three data, one of which is already known, i.e., themovement itself, whilst the other two are the initial speed and thefinal speed.

Therefore, each relative position of an axis is characterized by threevalues, i.e., initial speed, movement, and final speed. Therefore it ispossible to create a three-dimensional table characterized by thesethree parameters.

The element pointed in the three-dimensional table contains an address,which in turn points to a vector that contains in detail the descriptionof the waveform to be sent to the motor driver, including the operatingmode. The pointed vector is part of a table of vectors that can bepointed by means of the address found in the three-dimensional table bythe intersection of the three parameters described above. Substantially,there is a vector for each address and each address is determined, inthe three-dimensional table, by the intersection of three particularparameters of initial speed, final speed and movement.

Therefore, the complete vector table that contains all the paths thatcan be traced by the three parameters of initial speed, final speed andnumber of steps or movement is extremely large, and therefore itscreation requires a program that calculates all the elementary paths.

Once the table has been calculated, it is possible to run a program forchecking it and optionally correcting it, such program examiningcritically all the paths and optionally correcting them.

The final table is merely theoretical, since it does not take intoaccount the masses involved, the power levels of the motors, frictionsand geometries; therefore, during the initialization of the machine toolto which the control device is to be applied it is necessary to test oneby one all the paths and validate them by using the circuits forcontrolling loss of step or any discrepancies that can exceed the boundsof the time window of acceptability during the movement of the axis ofthe machine tool.

Therefore, the method according to the invention provides for a firststep for the acquisition of relative position data and of actuationstates for every time Ti.

At this point, a suitable program calculates the path for eachindividual axis and transfers to the control device a bit word thatspecifies for each axis:

-   -   the address of the axis, the direction of the movement, the        state of actuation and the address of the vector in the        validated table.

At this point, execution is transferred to the control device.

The preparation of the theoretical table described above thereforecomprises a step for generating the table that describes the vectors ofthe signal starting from the parameters of initial speed, number ofsteps (or movement) and final speed.

Then the real movement is checked, and the theoretical table is reducedto a validated table. The validated table takes into account the massesinvolved, the frictions and all the situations that occur in reality andwere not taken into account in the theoretical step of tablepreparation.

Therefore, this validation step leads to the generation of a new table,which allows to determine the addresses of the validated table from thethree initial data of initial speed, movement and final speed.

Substantially, the theoretical table is the table that describes all thepaths that can be traced by the three parameters of initial speed,number of steps and final speed, and is therefore very large.

The theoretical table is the vector table described above, which ispointed by the three-dimensional table that contains the threeparameters of initial speed, movement and final speed.

The accompanying figure is a block diagram of the device used in themethod according to the present invention. In this figure it is assumedas an example that the axes to be driven are 128, with 128 correspondingmotors 14. Therefore, the number of bits used must be understood asbeing solely correlated to the number of motors used. In this case, infact, with 128 motors, selection of the address of the axis to be movedcan be performed with a seven-bit jump, which allows to specify a numberup to 128.

If the number of motors is different, the number of bits used may ofcourse change.

The accompanying figure is divided into two portions: portion Arepresents the outside world, i.e., the personal computer that is usedto drive portion B, which instead represents the board on which thedevice according to the invention is implemented, allowing to performthe corresponding method.

Therefore, the personal computer that is used sends a data item, in thiscase a seven-bit data item, designated by the reference numeral 1, whichrepresents the address of the axis to be moved, and a word, in this casea 32-bit word, designated by the reference numeral 2, in which the firstthree bits contain the direction of the movement and two output signals(actuator commands, et cetera) and the subsequent 29 bits contain theaddress, obtained from the three-dimensional table defined earlier(initial speed, final speed and number of steps), of a vector containedin an EPROM memory, designated by the reference numeral 3, which is partof the device that is suitable to implement the method according to theinvention. The vector represents the elementary movement that must beperformed by the axis selected by means of the address 1 of the axis.

The word 2 is input to a temporary memory 4, which is addressed by theseven-bit data item 1 for axis selection. In the specific case,therefore, 128 temporary memories 4, one for each motor, are availableand must be filled by the data that are output by the personal computer.

A latch element 5 and a counter 6 are associated with each temporarymemory 4 (it should be noted that for the sake of simplicity ofdescription, FIG. 2 illustrates a single block that indicates theplurality of temporary memories, but it should be understood that saidblock is divided in this case into 128 separate blocks). In the casebeing considered, the latch element is of the 3-bit type and the counteris a 29-bit counter. The data item contained in the temporary memory 4follows immediately in the latch element 5 and in the counter every timean additional counter 7, suitable to count the remaining words thatconstitute the vector of the movement of the axis X, is equal to zero.

The part described above of the board of the device is asynchronous andis driven by the personal computer.

The part that is instead described hereinafter is synchronous andcompletely uncorrelated to the first portion as regards timing.

A second counter 10, in the case a ten-bit counter in which the sevenhigher bits define sequentially 128 configurations by selecting one byone modules 100 of all the axes that are present in the board, and thethree lower bits have a preset configuration, sends a write locationsignal, designated by the reference numeral 11.

The second counter, when counted, selects the first counter 6, whichaddresses the first element of the vector inside the memory 3, thecounter 7, a register 8 and the two latch elements 5 and 6.

When the signal 11 arrives, if the counter 7 is equal to zero, the dataitem pointed in the memory 3 enters the counter 7 and the counter 6 isincremented by one. If instead the counter 7 is nonzero and the register8 is empty, the data item contained in the memory 3 is written to theregister 8, the data item contained in the latch element 5 is written tothe second latch element 6, the first counter 6 is incremented by one,and the counter 7 is decremented by one.

Finally, if the counter 7 is equal to zero and the register 8 is notempty, nothing happens, and the system waits for the next selectionrelated to the axis, which is performed by selection of the address 1.

At this point, the data must be transferred to the actuators, and saidtransfer occurs asynchronously.

When a fourth counter 12 is zero, the latch element 6 and the register 8compose the data item and transfer it to an actuator 13 related to themotor to be driven, in addition to transferring the data item into thefourth counter 12.

Each one of the elements 4-9 and 12-13 is present for each one of themotors to be driven.

The vector table, in addition to indicating the paths, indicates foreach path the mode of actuation of the driver of the motor, whichdetermines the operation of the motor in half-step, full-step ormicrostep mode.

In practice it has been found that the method and the device for axiscontrol according to the invention allow to achieve the described aimand objects, since they allow to obtain a harmonic motion in space withthe combination of a large number of elementary axes. Harmonic motion isobtained by means of calculations that are extremely simplified withrespect to the systems of the known art.

The method and the device thus conceived are susceptible of numerousmodifications and variations, all of which are within the scope of theappended claims; all the details may further be replaced with othertechnically equivalent elements.

The disclosures in Italian Patent Application No. MI2001A002798 fromwhich this application claims priority are incorporated herein byreference.

1. A method for generating waves, particularly for controlling the axesof motors, for machine tools and the like, characterized in that itcomprises the steps of: calculating, from a sequence of relativeposition data of each axis and of actuation states at each definiteinstant, a path for each individual axis, starting from parameters ofinitial speed, number of steps and final speed; defining athree-dimensional matrix that contains, for each axis, initial speed,number of steps and final speed, each element of said three-dimensionaltable, constituted by the intersection in space of said threeparameters, containing an address that is adapted to point to saidvector which describes a corresponding waveform; driving said axisaccording to said waveform.
 2. The method according to claim 1,characterized in that said step that consists in calculating the pathfor each individual axis comprises transferring, for each axis, a bitword that specifies: the address of said axis, the direction of motion,the state of at least one actuation output, and the address of said pathvector in said path vector table.
 3. The method according to claim 1,characterized in that said path vector table is generated starting fromthe parameters of initial speed, number of steps and final speed.
 4. Themethod according to claim 3, characterized in that said step thatconsists in generating said path vector table comprises the additionalsteps that consist in: checking the real paths of said axes and reducingsaid vector table to a validated vector table.
 5. The method accordingto one or more of the preceding claims, characterized in that saidwaveform vector is to be sent to the driver of the corresponding motorfor the actuation of said motor.
 6. The method according to one or moreof the preceding claims, characterized in that the element of saidthree-dimensional table defined by the set of said three parameterscontains an address that points to a vector of said path vector table.